#define _CRT_SECURE_NO_WARNINGS 01
#include<stdio.h>

int main()
{
	/*char arr[] = "asdh";
	int a = 10;
	printf(arr);*/
	unsigned char i = 1000;
	for (int j = 0; j < 256; j++)
	{
		i++;
		printf("%d ", i);
	}
	
	return 0;
}

#include <stdbool.h>
#include <stdio.h>

bool judge(int a, int b, int ren)
{
    if (a % b >= ren)
        return true;
    else
        return false;;
}

int main() {
    int n, k;
    while (scanf("%d %d", &n, &k) != EOF) {
        int ret = 0;
        for (int i = 1; i <= n; i++)
        {
            for (int j = 1; j <= n; j++)
            {
                if (judge(i, j, k))
                    ret++;
            }
        }
        printf("%d\n", ret);
    }
    return 0;
}

#include<stdio.h>

int main()
{
    long n, k = 0;
    long count = 0;
    while (~scanf("%ld %ld", &n, &k))
    {
        if (k == 0)
        {
            printf("%ld\n", n * n);
            continue;
        }
        for (long j = k + 1; j <= n; j++)
        {
            long help = n % j < k ? 0 : (n % j) - k + 1;
            count += (j - k) * (n / j) + help;
        }
        printf("%ld\n", count);
    }
    return 0;
}
